﻿#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

class PersonInit
{
public:
	//2.构造函数的写法：与类名相同，没有返回值，不写void，可以发生重载（可以有参数）；
	//4.构造函数由编译器自动调用，而不是手动，而且只会调用一次；
	PersonInit()
	{
		cout << "3.构造函数调用！" << endl;
	}
	PersonInit(int a)
	{
		cout << "3.构造函数调用！(int a)重载！" << endl;
	}

	//5.析构函数的写法：与类名相同，类名前面加一个符号“~”，也没有返回值，不写void，不可以有参数（不能发生重载）；
	//7.自动调用，只会调用一次；
	~PersonInit()
	{
		cout << "6.析构函数调用！" << endl;
	}
};
void testPersonInit()
{
	//1.默认调用了构造和析构函数，是系统提供的两个空实现的函数；
	PersonInit p1;
	PersonInit p2(1);//3.构造函数调用！(int a)重载！ //6.析构函数调用！
}

//main257：对象的初始化和清理
int main257()
{
	testPersonInit();//3.构造函数！  //6.析构函数调用！

	//PersonInit p1;

	system("pause");
	return EXIT_SUCCESS;
}